
// 链接数据类型
export interface diyLinkType {
    type?: string;
    title?: string;
    desc?: string;
    key?: number | string;
    value?: number | string;
}

// 风格类型
export interface diyThemeDataType {
    host_bg?: string;
    host_bg2?: string;
    host_color?: string;
    deputy_bg?: string;
    deputy_color?: string;
}
// 选择数据类型
export interface diySelectDataType {
    title: string;
    value: string | number;
}

// 风格模板数据类型
export interface diyTempDataType {
    value: number | string,
    title: string;
    img?: string;
}

// 页面设置数据类型
export interface diyPageDataType {
    name?: string;
    type?: string;
    temp: diyTempDataType;
    title: {
        text: string;
        style: {
            img?: string;
            position: string;
            color: string;
            opacity: number | string;
            bg: string;
            search_bg?: string;
            search_opacity: number;
        };
        link: object;
    };
    style: {
        bg: string;
        img_status: number | string;
        img?: string;
    };
    wxapp: {
        color: string;
        collect: number | string;
        share: {
            cover: string;
            thumb: string;
            title: string;
        };
    };
}


// 商品数据类型
export interface diyGoodsDataType {
    name?: string;
    type?: string;
    params: {
        source: string;
        cate_id: string[] | number[] | number | string;
        goods_id?: string[] | number[];
        limit: number | string;
        sort: string;
    },
    layout: {
        value: number | string;
        border: number | string;
        scroll: number | string;
    },
    style: {
        ml: number | string;
        mr: number | string;
        mt: number | string;
        mb: number | string;
        pl: number | string;
        pr: number | string;
        pt: number | string;
        pb: number | string;
        t_radius: number | string;
        b_radius: number | string;
        bg_status: number | string;
        bg: string;
        shade: number | string;
        item_radius: number | string;
        item_border_color: string;
        item_pm: number | string;
        item_fill: number | string;
        item_bold: number | string;
    },
    other: {
        show: {
            goods_name: number | string;
            goods_price: number | string;
            market_price: number | string;
            selling_point: number | string;
            goods_sales: number | string;
            cart: number | string;
            label: number | string;
        },
        label: {
            type: string;
            layout: number | string;
            img: string;
        },
        cart: {
            layout: number | string;
            title: string;
        }
    },
    default_data?: any,
    data: Array<any>
}


// 广告弹窗数据类型
export interface diyPopAdvDataType {
    name?: string;
    status?: number | string;
    cache?: number | string;
    link?: diyLinkType;
    img: string;
    layout: number | string;
}


//橱窗魔方数据类型
export interface diyWindowDataType {
    name?: string;
    type?: string;
    layout: {
        value: number | string;
    },
    style: {
        img_gap: number | string;
        img_shade: number | string;
        img_radius: number | string;
        bg_status: number | string;
        bg: string;
        shade: number | string;
        ml: number | string;
        mr: number | string;
        mt: number | string;
        mb: number | string;
        pl: number | string;
        pr: number | string;
        pt: number | string;
        pb: number | string;
        t_radius: number | string;
        b_radius: number | string;
    };
    data: Array<{
        img: string;
        link: diyLinkType;
    }>;
}


//单图数据类型
export interface diySingleDataType {
    name?: string;
    type?: string;
    style: {
        radius: number | string;
        bg_status: number | string;
        bg: string;
        shade: number | string;
        ml: number | string;
        mr: number | string;
        mt: number | string;
        mb: number | string;
        pl: number | string;
        pr: number | string;
        pt: number | string;
        pb: number | string;
        t_radius: number | string;
        b_radius: number | string;
    };
    img: string,
    link: diyLinkType
}

// 图片轮播数据类型
export interface diyBannerDataType {
    name?: string;
    type?: string;
    style: {
        bg_status: number | string;
        bg: string;
        shade: number | string;
        radius: number | string;
        ml: number | string;
        mr: number | string;
        mt: number | string;
        mb: number | string;
        pl: number | string;
        pr: number | string;
        pt: number | string;
        pb: number | string;
        t_radius: number | string;
        b_radius: number | string;
    };
    data: Array<{
        img: string;
        link: diyLinkType;
    }>;
}



//标题栏数据类型
export interface diyTitleDatType {
    name?: string;
    type?: string;
    title?: string;
    link?: diyLinkType;
    temp?: diyTempDataType;
    style: {
        fw: number | string;
        fz: number | string;
        color: string;
        move_status: number | string;
        move_bg: string;
        move_color: string;
        move_text: string;
        bg_status: number | string;
        bg: string;
        shade: number | string;
        ml: number | string;
        mr: number | string;
        mt: number | string;
        mb: number | string;
        pl: number | string;
        pr: number | string;
        pt: number | string;
        pb: number | string;
        t_radius: number | string;
        b_radius: number | string;
    };
}


//公告栏数据类型
export interface diyNoticeDataType {
    name?: string;
    type?: string;
    temp?: diyTempDataType;
    params: {
        source: string;
    };
    style: {
        icon: string;
        color: string;
        bg_status: number | string;
        bg: string;
        shade: number | string;
        ml: number | string;
        mr: number | string;
        mt: number | string;
        mb: number | string;
        pl: number | string;
        pr: number | string;
        pt: number | string;
        pb: number | string;
        t_radius: number | string;
        b_radius: number | string;
    };
    data: Array<{
        title: string;
        link: diyLinkType;
    }>;
    default_data?: {
        title: string;
        link: diyLinkType;
    };
}

//  图文导航数据类型
export interface diyNavBarDataItemType {
    title: string;
    img: string;
    link: diyLinkType;
    fw: number | string;
    color: string;
}
export interface diyNavBarDataType {
    name?: string;
    type?: string;
    layout: {
        value: number;
        rows_num: number | string;
    },
    style: {
        bg_status: number | string;
        bg: string;
        shade: number | string;
        ml: number | string;
        mr: number | string;
        mt: number | string;
        mb: number | string;
        pl: number | string;
        pr: number | string;
        pt: number | string;
        pb: number | string;
        t_radius: number | string;
        b_radius: number | string;
    };
    data: Array<diyNavBarDataItemType>;
    default_data?: diyNavBarDataItemType;
}

//  搜索数据类型
export interface diySearchDataType {
    name?: string;
    type?: string;
    layout: {
        value: number | string;
    },
    style: {
        title: string;
        icon: string;
        color: string;
        search_position: string;
        search_bg: string;
        search_radius: number | string;
        bg_status: number | string;
        bg: string;
        shade: number | string;
        ml: number | string;
        mr: number | string;
        mt: number | string;
        mb: number | string;
        pl: number | string;
        pr: number | string;
        pt: number | string;
        pb: number | string;
        t_radius: number | string;
        b_radius: number | string;
    };
}


// 辅助线数据类型
export interface diyGuideDataType {
    name?: string;
    type?: string;
    layout: {
        value: string;
    },
    style: {
        color: string;
        lh: number | string;
        bg_status: number | string;
        bg: string;
        shade: number | string;
        ml: number | string;
        mr: number | string;
        mt: number | string;
        mb: number | string;
        pl: number | string;
        pr: number | string;
        pt: number | string;
        pb: number | string;
        t_radius: number | string;
        b_radius: number | string;
    };
    img: string,
    link: diyLinkType
}




// 自定义底部导航数据类型
export interface diyNavdesignItemType {
    icon: string;
    icon_cur: string;
    link: diyLinkType;
    title: string;
}
export interface diyNavdesignType {
    name?: string;
    type?: string;
    data: Array<diyNavdesignItemType>;
    layout: {
        value: number | string;
    },
    style: {
        bg: string;
        color: string;
        cur_color: string;
    };
}



// 个人中心数据类型
export interface diyUserWalletDataItemType {
    name: string;
    title: string;
}
export interface diyUserDataType {
    name?: string;
    type?: string;
    temp?: diyTempDataType;
    style: {
        color: string;
        text_color: string;
        desc_color: string;
        bg_status: number | string;
        bg_img: string;
        bg: string;
        deg: number | string;
        bg2: string;
        shade: number | string;
        ml: number | string;
        mr: number | string;
        mt: number | string;
        mb: number | string;
        pl: number | string;
        pr: number | string;
        pt: number | string;
        pb: number | string;
        t_radius: number | string;
        b_radius: number | string;
    },
    data: {
        login_text: string;
        login_desc: string;
        default: string;
    },
    other: {
        wallet: {
            show: number | string;
            data?: Array<diyUserWalletDataItemType>
        }
    }
}

export interface diyOrderDataItemType {
    style:{
        fw: number | string;
        color:string;
    },
    name: string;
    title: string;
    icon: string;
}
// 我的订单类型
export interface diyOrderDataType {
    name?: string;
    type?: string;
    style: {
        bg_status: number | string;
        bg: string;
        shade: number | string;
        ml: number | string;
        mr: number | string;
        mt: number | string;
        mb: number | string;
        pl: number | string;
        pr: number | string;
        pt: number | string;
        pb: number | string;
        t_radius: number | string;
        b_radius: number | string;
    },
    data: Array<diyOrderDataItemType>
}

// 工具栏
export type diyToolsType = Array<{
    title: string;
    active?: boolean;
    data: Array<{
        title: string;
        key: string;
        icon?: string;
        only?: boolean;
    }>;
}>

